/**
 */
package org.mro.grib.model.files.secondEdition.products;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Product Definition Template445</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getAerosolType <em>Aerosol Type</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getTypeOfIntervalForFirstAndSecondSizes <em>Type Of Interval For First And Second Sizes</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getScaleFactorOfFirstSize <em>Scale Factor Of First Size</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getScaledValueOfFirstSize <em>Scaled Value Of First Size</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getScaleFactorOfSecondSize <em>Scale Factor Of Second Size</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getScaledValueOfSecondSize <em>Scaled Value Of Second Size</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate445()
 * @model annotation="http://www.eclipse.org/emf/2002/GenModel description_en='Individual ensemble forecast, control and perturbed, at a\r\nhorizontal level or in a horizontal layer at a point in time for\r\naerosol' note_1_en='Hours greater than 65534 will be coded as 65534.'"
 * @generated
 */
public interface ProductDefinitionTemplate445 extends ProductDefinitionTemplate42 {
	/**
	 * Returns the value of the '<em><b>Aerosol Type</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Aerosol Type</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Aerosol Type</em>' attribute.
	 * @see #setAerosolType(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate445_AerosolType()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Aerosol type' description_en='Aerosol type (see Code table 4.233)'"
	 * @generated
	 */
	byte getAerosolType();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getAerosolType <em>Aerosol Type</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Aerosol Type</em>' attribute.
	 * @see #getAerosolType()
	 * @generated
	 */
	void setAerosolType(byte value);

	/**
	 * Returns the value of the '<em><b>Type Of Interval For First And Second Sizes</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Type Of Interval For First And Second Sizes</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Type Of Interval For First And Second Sizes</em>' attribute.
	 * @see #setTypeOfIntervalForFirstAndSecondSizes(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate445_TypeOfIntervalForFirstAndSecondSizes()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Type of interval for first and second sizes' description_en='Type of interval for first and second sizes (see Code table 4.91)'"
	 * @generated
	 */
	byte getTypeOfIntervalForFirstAndSecondSizes();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getTypeOfIntervalForFirstAndSecondSizes <em>Type Of Interval For First And Second Sizes</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Type Of Interval For First And Second Sizes</em>' attribute.
	 * @see #getTypeOfIntervalForFirstAndSecondSizes()
	 * @generated
	 */
	void setTypeOfIntervalForFirstAndSecondSizes(byte value);

	/**
	 * Returns the value of the '<em><b>Scale Factor Of First Size</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Scale Factor Of First Size</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Scale Factor Of First Size</em>' attribute.
	 * @see #setScaleFactorOfFirstSize(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate445_ScaleFactorOfFirstSize()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Scale factor of first size' description_en='Scale factor of first size'"
	 * @generated
	 */
	byte getScaleFactorOfFirstSize();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getScaleFactorOfFirstSize <em>Scale Factor Of First Size</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Scale Factor Of First Size</em>' attribute.
	 * @see #getScaleFactorOfFirstSize()
	 * @generated
	 */
	void setScaleFactorOfFirstSize(byte value);

	/**
	 * Returns the value of the '<em><b>Scaled Value Of First Size</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Scaled Value Of First Size</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Scaled Value Of First Size</em>' attribute.
	 * @see #setScaledValueOfFirstSize(int)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate445_ScaledValueOfFirstSize()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Scaled value of first size in metres' description_en='Scaled value of first size in metres'"
	 * @generated
	 */
	int getScaledValueOfFirstSize();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getScaledValueOfFirstSize <em>Scaled Value Of First Size</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Scaled Value Of First Size</em>' attribute.
	 * @see #getScaledValueOfFirstSize()
	 * @generated
	 */
	void setScaledValueOfFirstSize(int value);

	/**
	 * Returns the value of the '<em><b>Scale Factor Of Second Size</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Scale Factor Of Second Size</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Scale Factor Of Second Size</em>' attribute.
	 * @see #setScaleFactorOfSecondSize(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate445_ScaleFactorOfSecondSize()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Scale factor of second size' description_en='Scale factor of second size'"
	 * @generated
	 */
	byte getScaleFactorOfSecondSize();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getScaleFactorOfSecondSize <em>Scale Factor Of Second Size</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Scale Factor Of Second Size</em>' attribute.
	 * @see #getScaleFactorOfSecondSize()
	 * @generated
	 */
	void setScaleFactorOfSecondSize(byte value);

	/**
	 * Returns the value of the '<em><b>Scaled Value Of Second Size</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Scaled Value Of Second Size</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Scaled Value Of Second Size</em>' attribute.
	 * @see #setScaledValueOfSecondSize(int)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate445_ScaledValueOfSecondSize()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Scaled value of second size in metres' description_en='Scaled value of second size in metres'"
	 * @generated
	 */
	int getScaledValueOfSecondSize();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate445#getScaledValueOfSecondSize <em>Scaled Value Of Second Size</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Scaled Value Of Second Size</em>' attribute.
	 * @see #getScaledValueOfSecondSize()
	 * @generated
	 */
	void setScaledValueOfSecondSize(int value);

} // ProductDefinitionTemplate445
